#include "Not.h"


/*
===============================================================================
 Name        : Not.cpp
 Author      : Bram en Paul
 Version     : 0.1
 Description : OOPatronen
===============================================================================
*/

//Statisch voorbeeldobject.
Node* Not::staticNode = new Not("NOT");


/**
 * Constructor
 */
Not::Not(string ID) : Node(ID)
{
	
}


/**
 * Constructor (alternative)
 */
Not::Not() : Node()
{
	
}


/**
 * Operation van Not
 */
void Not::operation()
{
	outputValue = !inputs[0];
	sendOperationResult();
}


/**
 * Not wil 1 input!
 */
void Not::checkInputQuantity()
{
	if (inputs.size() == 1) {
		operation();
	}
}


/**
 * Functie die een clone van de uitvoerende instantie uitvoert.
 */
Node* Not::clone()
{
	return new Not();
}

/**
 * Destructor
 */
Not::~Not()
{
	
}
